package com.hqhy.like.stock.pojo.param;

import com.hqhy.like.common.enumerator.ServiceCode;
import com.hqhy.like.common.ex.ServiceException;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class StockInUpdateParam implements Serializable {

    private Long id;
    /**
     * 类别名称
     */
    @NotEmpty(message = "类别名称不能为空字符串,也不能为null")
    private String categoryName;

    /**
     * 库存名称
     */
    @NotEmpty(message = "库存名称不能为空字符串,也不能为null")
    private String name;

    /**
     * 数量
     */
    @NotNull
    private Integer number;

    /**
     * 规格(单位)
     */
    @NotEmpty(message = "规格(单位)不能为空字符串,也不能为null")
    private String unit;

    /**
     * 单价(元)
     */
    private BigDecimal price;

    /**
     * 进货日期
     */
    @NotNull(message = "进货日期不能为null")
    private String stockInDate;

    /**
     * 备注
     */
    private String notes;

    public void setPrice(String priceStr) {
        try {
            this.price = new BigDecimal(priceStr);
        } catch (NumberFormatException e) {
            throw new ServiceException(ServiceCode.ERROR_BAD_REQUEST,"请输入一个正确的单价!");
        }
    }
}
